Skip to content

build: keep matplotlib below 3.11 while Python 3.10 is supported - #49

Merged
1 commit merged into
mainfrom
fix/matplotlib-floor
Sep 7, 2026
Merged

build: keep matplotlib below 3.11 while Python 3.10 is supported#49
1 commit merged into
mainfrom
fix/matplotlib-floor

Conversation

@open-coder-ai-org

Copy link
Copy Markdown
Collaborator

Replaces #47, which cannot land as opened.

Why #47 failed

matplotlib 3.11 requires Python >= 3.11. This package declares requires-python >= 3.10 and CI runs a 3.10 job. Dependabot compiled its lockfile on a newer interpreter, so the regenerated requirements/ci.txt dropped the pins that only 3.10 needs (typing-extensions, tomli, exceptiongroup), and the hashed install failed on the first job:

ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==.
These do not: typing-extensions>=4.4.0 (from referencing==0.37.0)

It also rewrote the floor in requirements/ci.in to matplotlib>=3.11.1, which would drop 3.10 support silently.

What this does

  • requirements/ci.in: matplotlib>=3.8,<3.11, with the reason beside it. Lift the ceiling when requires-python moves to 3.11.
  • .github/dependabot.yml: ignore semver-minor and semver-major matplotlib bumps under /requirements, so the same PR does not reopen weekly. Patch releases still flow.
  • requirements/ci.txt: regenerated with pip-compile on 3.10 from the new ci.in. The output is byte-identical to the current file, which confirms the existing lock was already the 3.10-compatible resolution, so no lockfile diff appears here.

Verification

Fresh venvs on 3.10 and 3.11, each pip install --require-hashes -r requirements/ci.txt && pip install --no-deps -e ., then:

393 passed, 1 skipped
All checks passed!   (ruff)

After merging

Close #47 (Dependabot will not re-open it once the ignore rule is on main). #48 touches ci.in/ci.txt too and has been brought up to date with this branch so it merges in either order.

🤖 Generated with Claude Code

https://claude.ai/code/session_014gwmBVUHSgohCLkNVqAR77


Generated by Claude Code

matplotlib 3.11 requires Python >= 3.11, and this package still declares
requires-python >= 3.10 with a 3.10 job in CI. Dependabot's bump in #47 was
compiled on a newer interpreter, so its lockfile dropped the pins that only
3.10 needs (typing-extensions, tomli, exceptiongroup) and the hashed install
failed on the first job; it also rewrote the floor in ci.in to >= 3.11.1.

Pin the ceiling in ci.in with the reason beside it, and tell Dependabot to
skip feature bumps of matplotlib under /requirements so the same PR does not
reopen every week. Patch releases still flow. The regenerated ci.txt is
byte-identical to the current one, which confirms the lock was already the
3.10-compatible resolution.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gwmBVUHSgohCLkNVqAR77
Signed-off-by: Claude <noreply@anthropic.com>
@open-coder-ai-org open-coder-ai-org closed this pull request by merging all changes into main in 68e88db Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants